<?php
// +----------------------------------------------------------------------
// | Copyright (c) 2017~2023 https://www.gxgyl.com All rights reserved.

// +----------------------------------------------------------------------
// | Author: Liuyu
// +----------------------------------------------------------------------
declare (strict_types = 1);

namespace app\store\controller;

use app\store\model\User as UserModel;
use think\facade\Db;

/**
 * 用户管理
 * Class User
 * @package app\store\controller
 */
class User extends Controller {

	public function listPmProject() {
		// 用户列表
		$model = new UserModel;
		$list = $model->getListPmProject($this->request->param());
		return $this->renderSuccess(compact('list'));
	}

	public function listPm() {
		// 用户列表
		$model = new UserModel;
		$list = $model->getListPm($this->request->param());
		return $this->renderSuccess(compact('list'));
	}

	public function listAll() {
		// 用户列表
		$model = new UserModel;
		$list = $model->getListAll($this->request->param());
		return $this->renderSuccess(compact('list'));
	}
	/**
	 * 用户列表
	 * @return array
	 * @throws \think\db\exception\DbException
	 */
	public function list() {
		// 用户列表
		$model = new UserModel;
		$list = $model->getList($this->request->param());
		return $this->renderSuccess(compact('list'));
	}
public function detail(int $userId) {
		// 用户详情
		$detail = UserModel::detail($userId,['idcard1','idcard2']);

		return $this->renderSuccess(compact('detail'));
	}
	/**
	 * 删除用户
	 * @param int $userId
	 * @return array
	 */
	public function delete(int $userId) {
		// 用户详情
		$model = UserModel::detail($userId);

		if ($model->setDelete()) {

			return $this->renderSuccess('删除成功');
		}
		return $this->renderError($model->getError() ?: '删除失败');
	}

	public function stop($phone) {
		$userId = Db::name('user')->where('mobile', $phone)->value('user_id');
		// 用户详情
		$model = UserModel::detail($userId);

		if ($model->setStop()) {

			return $this->renderSuccess('删除成功');
		}
		return $this->renderError($model->getError() ?: '删除失败');
	}

	/**
	 * 用户充值
	 * @param int $userId
	 * @param string $target
	 * @return array
	 */
	public function recharge(int $userId, string $target) {
		// 用户详情
		$model = UserModel::detail($userId);
		if ($model->recharge($target, $this->postForm())) {
			return $this->renderSuccess('操作成功');
		}
		return $this->renderError($model->getError() ?: '操作失败');
	}

	/**
	 * 修改会员等级
	 * @param int $userId
	 * @return array
	 */
	public function grade(int $userId) {
		// 用户详情
		$model = UserModel::detail($userId);
		if ($model->updateGrade($this->postForm())) {
			return $this->renderSuccess('操作成功');
		}
		return $this->renderError($model->getError() ?: '操作失败');
	}

}
